package com.cy.controller;

import com.cy.dao.DoorMapper;
import com.cy.pojo.Door;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.List;


@Controller
/**
 * @Controller作用1：将当前对象的创建交给spring管理
 * 作用2：作为控制层代码的标识
 */
public class DoorController {

        @Autowired
        private DoorMapper dao;

        /*查询所有的门店信息*/
        @RequestMapping("/doorList")
        public String doorList(Model model){
            //调用DoorMapper的findAll方法，查询所有的门店信息
            List<Door> list = dao.findAll();
            //将门店集合存入到Model中
            model.addAttribute("list",list);
            //跳转到门店列表页面
            return "door_list";
        }
        /*2、根据id删除门店信息*/
        @RequestMapping("/doorDelete")
    public String doorDelete(Integer id){
            //调用DoorMapper的deleteById方法，根据iD删除门店信息
            dao.deleteById(id);
            //删除成功，跳转到查询门店的方法，显示最新的门店信息
            return "forward:/doorList";
        }
    /** 3、新增门店信息
     * 接收客户端提交过来的门店信息(name,tel,addr)
     */
    @RequestMapping("/doorAdd")
    public String doorAdd(Door door){
        //调用DoorMapper的add方法，新增信息
        dao.add(door);
        //跳转到查询所有门店的方法
        return "forward:/doorList";
    }
    /** 4、根据id查询门店信息
     * 将查询到的门店信息带到门店修改页面, 进行数据的回显
     */
    @RequestMapping("/doorInfo")
    public String doorInfo(Integer id,Model model){
        //调用DoorMapper的findById方法, 根据id查询门店信息
        Door door = dao.findById( id );
        //将门店信息带回门店修改页面, 进行回显
        model.addAttribute( "door", door );
        //转发到门店修改页面
        return "door_update";
    }
    /** 5、根据id修改门店信息 */
    @RequestMapping("/doorUpdate")
    public String doorUpdate( Door door ) {
        //调用DoorMapper的updateById方法, 根据id修改门店信息
        dao.updateById( door );

        //跳转到查询所有门店的方法, 显示最新门店信息
        return "forward:/doorList";
    }

}
